﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2017._01._22TestWork1
{
    class Program
    {
        static void Main(string[] args)
        {
            //int znachenie;
            //try
            //{
            //    znachenie = Int32.Parse(Console.ReadLine());
            //    Console.WriteLine(znachenie+10);
            //}
            //catch (Exception)
            //{
            //    Console.WriteLine("Число не целое");
            //    throw;
            //}



            //bool success = false;
            //int sum = 0;
            //try
            //{
            //    int n = Int32.Parse(Console.ReadLine());
            //    success = true;
            //}
            //catch (Exception e)
            //{
            //    Console.WriteLine(e.Message);
            //    success = false;
            //}

            //if (success)
            //{
            //    for (int i = 1; i <= n; i++)
            //    {
            //        sum += i;
            //    }
            //    Console.WriteLine(sum);
            //}

            //Console.WriteLine("Координаты первой точки: ");
            //double x1 = Int32.Parse(Console.ReadLine());
            //double y1 = Int32.Parse(Console.ReadLine());
            //Console.WriteLine("Координаты второй точки: ");
            //double x2 = Int32.Parse(Console.ReadLine());
            //double y2 = Int32.Parse(Console.ReadLine());

            //double length = Math.Sqrt(Math.Pow((y2 - y1), 2) + Math.Pow((x2 - x1), 2));
            //Console.WriteLine("Длина отрезка", length);


            //Console.WriteLine("Координаты первой точки: ");
            //double x = Int32.Parse(Console.ReadLine());
            //double y = Int32.Parse(Console.ReadLine());
            //if ((x > 0) && (y > 0))
            //    Console.WriteLine("Точка находится в 1 четверти");
            //else if ((x < 0) && (y > 0))
            //    Console.WriteLine("Точка находится в 2 четверти");
            //if ((x < 0) && (y < 0))
            //    Console.WriteLine("Точка находится в 3 четверти");
            //else if ((x > 0) && (y < 0))
            //    Console.WriteLine("Точка находится в 4 четверти");
            //if ((x == 0) && (y == 0))
            //    Console.WriteLine("Точка находится в начале координат");
            //if ((x == 0) && ((y < 0) || (y > 0)))
            //    Console.WriteLine("Точка находится на оси абцисс");
            //else if ((y == 0) && ((x < 0) || (x > 0)))
            //    Console.WriteLine("Точка находится на оси ординат");

            //Console.WriteLine("Введите длину рамки");
            //int length = Int32.Parse(Console.ReadLine());
            //Console.WriteLine("Введите ширину рамки");
            //int heigth = Int32.Parse(Console.ReadLine());
            //Console.WriteLine("Введите знак для рамки");
            //string znak = Console.ReadLine();
            //PrintRamka(length, heigth, znak);

            //Console.WriteLine("Введите размер массива");
            //int size = Int32.Parse(Console.ReadLine());
            //GetRandomArray(size);

            PrintArrayCountEvenOdd();
            Console.WriteLine();
            FindIndexMaxMin();


            Console.ReadKey();
        }

        public static int[] GetRandomArray(int size)
        {
            int[] array = new int[size];
            Random rnd = new Random();
            for (int i = 0; i < size; i++)
            {
                array[i] = rnd.Next(1, 1001);
                //Console.WriteLine(array[i]);
            }
            return array;
        }

        public static void PrintArrayCountEvenOdd()
        {
            int even = 0;
            int odd = 0;
            int[] array = GetRandomArray(20);
            for (int i = 0; i < 5; i++)
            {
                if (array[i] % 2 == 0)
                    even++;
                else odd++;
                Console.WriteLine(array[i]);   
            }
            Console.Write("Количество четных элементов: ");
            Console.WriteLine(even);
            Console.Write("Количество нечетных элементов: ");
            Console.WriteLine(odd);
        }

        public static void FindIndexMaxMin()
        {
            int minIndex = 0;
            int maxIndex = 0;
            int[] array = GetRandomArray(20);
            int min = array.Min();
            int max = array.Max();
            //for (int i = 0; i < 20; i++)
            //{
            //    if (array[i] < min)
            //        min = array[i];
            //    if (array[i] > max)
            //        max = array[i];
            //}

            for (int i = 0; i < 20; i++)
            {
                if (array[i] == min)
                    minIndex ++;
                if (array[i] == max)
                    maxIndex ++;
                Console.WriteLine(array[i]);

            }
            Console.Write("Индекс первого вхождения минимального элемента массива: ");
            Console.WriteLine(Array.IndexOf(array, min));
            Console.Write("Индекс первого вхождения максимального элемента массива: ");
            Console.WriteLine(Array.IndexOf(array, max));
            Console.Write("Количество вхождений минимального элемента: ");
            Console.WriteLine(minIndex);
            Console.Write("Количество вхождений максимального элемента: ");
            Console.WriteLine(maxIndex);
        }

        public static void PrintRamka(int x, int y, string znak)
        {
            string[,] array = new string[x, y];
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < y; j++)
                {
                    if ((i == 0) || (i == (x-1)))
                        array[i,j] = znak;
                    else if ((j == 0) || (j == (y - 1)))
                        array[i,j] = znak; 
                         else array[i,j] = " "; 
                }
            }
            for (int i= 0; i< x; i++)
            {
                for (int j = 0; j < y; j++)
                {
                    Console.Write(array[i,j]);
                }
                Console.WriteLine();
            }
        }
    }
}
